#一、选择题
"""
1、下面关于python分支语句的描述中，错误的是（A）
A.python分支结构使用if、elif和else来实现，每个if后面必须有elif或else
B.if-else结构是可以嵌套的
C.if语句会判断if后面的表达式，表达式为True时，执行if后的语句块
D.缩进是python分支语句的语法部分，缩进不正确会影响分支功能

2、下面关于python循环语句的描述中，错误的是（A）
A.while循环语句只能实现无限循环
B.所有的for语句只能实现无限循环
C.break语句可以种植一个循环
D.continue语句可以停止后续代码的执行，从循环开始重新执行

3、下面程序的输出结果是（C）
for i in range(1,6):
    if i % 4 == 0:
        continue
    else:
        print(i,end =',')
A.1，2，3     B.1，2，3，4    C.1，2，3，5     D.1，2，3，5，6

4、下面程序的循环次数是（D）
k=0
while k< 10
    if k < 1:
        continue
    if k == 5:
        break
    k += 1
A.5     B.6    C.4     D.死循环，不能确定循环次数

5、下面程序的输出结构是（A）
for n in reange(1,5,5):
    print(n)
A.1     B.2    C.5     D.4
"""

#二、填空题
"""
1、下面程序的输出结果是24。
n = 1
s = 1
while n < 5
    s = s * n
    n = n + 1
print(s)
2、下面程序的输出结果是_20  10  10____。
x,y,z = 10,20,30
if x < y:
    z = x
    x = y
    y = z
print(x,y,z)
3、下面程序对输入的两个整数按从小到大的顺序输出，请在_____内填空。
a = int(input('请输入a的值：'))
b = int(input('请输入b的值：'))
if a > b:
    t = a
    a = b
    b = t
print(a,b)
4、下面程序的输出结果是15。
i,j,k = 1,3,5
while i != 0:
    if i % j == 0:
        if i % k == 0:
            print(i)
            break
    i = i + 1
"""

#三、编程题
"""
设计简单的飞机行李托运计费系统，假设飞机上个人托运行李的条件是：行李重量在20千克以下免费托运；20-30千克超出部分5元/千克；30-40千克超出部分10元/千克；
40-50千克超出部分15元/千克；50千克以上不允许个人携带
"""
weight = float(input('请您输入行李的重量：'))
if weight < 0:
    print('您输入的数据有误！')
elif weight <= 20:
    print('您可以免费托运行李！')
elif weight <= 30:
    price = (weight - 20) * 5
    print('您的托运费用为', price, '元！')
elif weight <= 40:
    price = (30 - 20) * 5 + (weight - 30) * 10
    print('您的托运费用为', price, '元！')
elif weight <= 50:
    price = (30 - 20) * 5 + (40 - 30) * 10 + (weight - 40) * 15
    print('您的托运费用为', price, '元！')
else:
    print('您托运的行李超出了最高上限，不允许托运！')

    """
    中国古代数学家张邱建在他的《算经》中提出了一个著名的“百钱买百鸡问题”：鸡翁一，值钱五，鸡母一，值钱三，鸡雏三，值钱一；百钱买百鸡，问翁、母、雏各几何？
    编程输出所有可能的方案
    """
    for cock in range(0, 20 + 1):  # 鸡翁范围在0到20之间
        for hen in range(0, 33 + 1):  # 鸡母范围在0到33之间
            for biddy in range(3, 99 + 1):  # 鸡雏范围在3到99之间
                # 如果钱数等于100
                if (5 * cock + 3 * hen + biddy / 3) == 100:
                    # 如果购买的鸡数等于100
                    if (cock + hen + biddy) == 100:
                        if biddy % 3 == 0:  # 判断鸡雏数是否能被3整除
                            print('鸡翁:', cock, '鸡母:', hen, '鸡雏:', biddy)

                            """
                            使用while循环输出2-100的所有素数(只能被1和自己整除的自然数)
                            """
                            i = 2
                            while i < 100:  # 循环范围为2～100
                                j = 2
                                while j < i:  # 循环范围为2～i
                                    if i % j == 0:  # 如果i能整除j，i不是素数
                                        break  # 跳出循环
                                    j = j + 1
                                if j == i:  # 范围为2～i的循环结束后，如果j等于i，说明i为素数
                                    print(i, end=' ')  # 输出素数
                                i = i + 1

                                """
                                使用for循环输出一个正立实心等腰三角形
                                """
                                for i in range(1, 10):  # 循环范围为1～9
                                    for j in range(10 - i):  # 循环范围为0～9-i
                                        print(end=' ')  # 以空格结尾，不换行
                                    for k in range(10 - i, 10):  # 循环范围为10-i～9
                                        print('*', end=' ')  # 以空格结尾，不换行
                                    print('')  # 换行
